mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-04-27 07:50:54 -07:00
commit
d48f02ff4a
60 changed files with 72 additions and 80 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -19,7 +19,6 @@ logs/
|
|||
/annotations/out/
|
||||
/net/build/
|
||||
/tools/build/
|
||||
/core/build/
|
||||
/tests/build/
|
||||
/server/build/
|
||||
changelog
|
||||
|
|
@ -143,13 +142,6 @@ nb-configuration.xml
|
|||
/local.properties
|
||||
.gradle/
|
||||
gradle-app.setting
|
||||
/build/
|
||||
/android/build/
|
||||
/core/build/
|
||||
/desktop/build/
|
||||
/html/build/
|
||||
/ios/build/
|
||||
/ios-moe/build/
|
||||
|
||||
## OS Specific
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
sourceSets.main.java.srcDirs = ["src/main/java/"]
|
||||
sourceSets.main.resources.srcDirs = ["src/main/resources/"]
|
||||
sourceSets.main.resources.srcDirs = ["src/main/resources/"]
|
||||
|
|
|
|||
|
|
@ -115,12 +115,12 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||
return ClassName.get(c).box();
|
||||
}
|
||||
|
||||
public static TypeVariableName getTVN(TypeParameterElement element) {
|
||||
public static TypeVariableName getTVN(TypeParameterElement element){
|
||||
String name = element.getSimpleName().toString();
|
||||
List<? extends TypeMirror> boundsMirrors = element.getBounds();
|
||||
|
||||
List<TypeName> boundsTypeNames = new ArrayList<>();
|
||||
for (TypeMirror typeMirror : boundsMirrors) {
|
||||
for (TypeMirror typeMirror : boundsMirrors){
|
||||
boundsTypeNames.add(TypeName.get(typeMirror));
|
||||
}
|
||||
|
||||
|
|
@ -137,11 +137,11 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||
if(imports != null){
|
||||
String rawSource = file.toString();
|
||||
Seq<String> result = new Seq<>();
|
||||
for (String s : rawSource.split("\n", -1)) {
|
||||
for(String s : rawSource.split("\n", -1)){
|
||||
result.add(s);
|
||||
if (s.startsWith("package ")) {
|
||||
if (s.startsWith("package ")){
|
||||
result.add("");
|
||||
for (String i : imports) {
|
||||
for (String i : imports){
|
||||
result.add(i);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -935,4 +935,4 @@
|
|||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ void main(){
|
|||
vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity;
|
||||
original = original * (vec4(1.0) - bloom);
|
||||
gl_FragColor = original + bloom;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@ void main(){
|
|||
gl_FragColor = vec4(0.0);
|
||||
}
|
||||
//gl_FragColor = (texture2D(u_texture0, v_texCoords) - vec4(threshold.r)) * threshold.g;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ void main(){
|
|||
vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity;
|
||||
original = original * (vec4(1.0) - bloom);
|
||||
gl_FragColor = original + bloom;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,4 +23,4 @@ void main(){
|
|||
v_texCoords4 = a_texCoord0 + f;
|
||||
|
||||
gl_Position = a_position;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,4 +6,4 @@ void main(){
|
|||
vec4 tex = texture2D(u_texture0, v_texCoords);
|
||||
vec3 colors = (tex.rgb - threshold.r) * threshold.g * tex.a;
|
||||
gl_FragColor = vec4(colors, tex.a);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ varying vec2 v_texCoords;
|
|||
void main(){
|
||||
v_texCoords = a_texCoord0;
|
||||
gl_Position = a_position;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,4 +4,4 @@ varying mediump vec2 v_texCoords;
|
|||
|
||||
void main(){
|
||||
gl_FragColor.rgb = (texture2D(u_texture0, v_texCoords).rgb - vec3(threshold.x)) * threshold.y;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1342,4 +1342,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo
|
|||
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
||||
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
||||
block.repair-point.description = Continuously heals the closest damaged unit in its vicinity.
|
||||
block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted.
|
||||
block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted.
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ uniform vec3 u_rcampos;
|
|||
uniform mat4 u_invproj;
|
||||
uniform vec3 u_light;
|
||||
|
||||
vec2 rayIntersection(vec3 p, vec3 dir, float radius) {
|
||||
vec2 rayIntersection(vec3 p, vec3 dir, float radius){
|
||||
float b = dot(p, dir);
|
||||
float c = dot(p, p) - radius * radius;
|
||||
|
||||
float d = b * b - c;
|
||||
if (d < 0.0) {
|
||||
if(d < 0.0){
|
||||
return vec2(MAX, -MAX);
|
||||
}
|
||||
d = sqrt(d);
|
||||
|
|
@ -43,7 +43,7 @@ vec2 rayIntersection(vec3 p, vec3 dir, float radius) {
|
|||
return vec2(near, far);
|
||||
}
|
||||
|
||||
float miePhase(float g, float c, float cc) {
|
||||
float miePhase(float g, float c, float cc){
|
||||
float gg = g * g;
|
||||
|
||||
float a = (1.0 - gg) * (1.0 + cc);
|
||||
|
|
@ -55,20 +55,20 @@ float miePhase(float g, float c, float cc) {
|
|||
return 1.5 * a / b;
|
||||
}
|
||||
|
||||
float rayleighPhase(float cc) {
|
||||
float rayleighPhase(float cc){
|
||||
return 0.75 * (1.0 + cc);
|
||||
}
|
||||
|
||||
float density(vec3 p) {
|
||||
float density(vec3 p){
|
||||
return exp(-(length(p) - u_innerRadius) * (4.0 / (u_outerRadius - u_innerRadius)));
|
||||
}
|
||||
|
||||
float optic(vec3 p, vec3 q) {
|
||||
float optic(vec3 p, vec3 q){
|
||||
vec3 step = (q - p) / fNumOutScatter;
|
||||
vec3 v = p + step * 0.5;
|
||||
|
||||
float sum = 0.0;
|
||||
for (int i = 0; i < numOutScatter; i++) {
|
||||
for(int i = 0; i < numOutScatter; i++){
|
||||
sum += density(v);
|
||||
v += step;
|
||||
}
|
||||
|
|
@ -76,7 +76,7 @@ float optic(vec3 p, vec3 q) {
|
|||
return sum;
|
||||
}
|
||||
|
||||
vec3 inScatter(vec3 o, vec3 dir, vec2 e, vec3 l) {
|
||||
vec3 inScatter(vec3 o, vec3 dir, vec2 e, vec3 l){
|
||||
float len = (e.y - e.x) / fNumInScatter;
|
||||
vec3 step = dir * len;
|
||||
vec3 p = o + dir * e.x;
|
||||
|
|
@ -115,4 +115,4 @@ void main(){
|
|||
vec3 result = inScatter(eye, dir, e, l);
|
||||
|
||||
gl_FragColor = vec4(result, 1.0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ void main(){
|
|||
v_position = a_position;
|
||||
v_model = u_model;
|
||||
gl_Position = u_projection*u_model*a_position;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ bool cont(vec2 T, vec2 v){
|
|||
id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base));
|
||||
}
|
||||
|
||||
void main() {
|
||||
void main(){
|
||||
|
||||
vec2 t = v_texCoords.xy;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ uniform samplerCube u_cubemap;
|
|||
|
||||
void main(){
|
||||
gl_FragColor = textureCube(u_cubemap, v_texCoords);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ const float SCALE = 50.0;
|
|||
void main(){
|
||||
v_texCoords = a_position;
|
||||
gl_Position = u_proj * vec4(a_position * SCALE, 1.0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,4 +6,4 @@ uniform sampler2D u_texture;
|
|||
void main(){
|
||||
vec4 c = texture2D(u_texture, v_texCoords);
|
||||
gl_FragColor = v_color * mix(c, vec4(v_mix_color.rgb, c.a), v_mix_color.a);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ uniform mat4 u_trans;
|
|||
varying vec4 v_col;
|
||||
varying vec4 v_position;
|
||||
|
||||
void main() {
|
||||
void main(){
|
||||
gl_Position = u_proj * u_trans * a_position;
|
||||
v_col = a_color;
|
||||
v_position = a_position;
|
||||
|
|
|
|||
|
|
@ -29,4 +29,4 @@ void main(){
|
|||
}
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,4 +20,4 @@ void main(){
|
|||
color.rgb = texture2D(u_stars, coords/NSCALE + vec2(-0.1, -0.1) + u_ccampos / CAMSCALE).rgb;
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,4 +24,4 @@ void main(){
|
|||
}
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ bool cont(vec2 T, vec2 v){
|
|||
id(T + vec2(step, -step) * v, base) || id(T + vec2(-step, step) * v, base));
|
||||
}
|
||||
|
||||
void main() {
|
||||
void main(){
|
||||
vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv);
|
||||
vec2 t = v_texCoords.xy;
|
||||
vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y);
|
||||
|
|
|
|||
|
|
@ -34,4 +34,4 @@ void main(){
|
|||
}
|
||||
|
||||
gl_FragColor = vec4(color.rgb, 1.0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -209,4 +209,4 @@ public class Effect{
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ public abstract class BulletType extends Content{
|
|||
}
|
||||
|
||||
public void hitTile(Bullet b, Building tile, float initialHealth){
|
||||
if(makeFire) {
|
||||
if(makeFire){
|
||||
Fires.create(tile.tile);
|
||||
}
|
||||
hit(b);
|
||||
|
|
@ -249,7 +249,7 @@ public abstract class BulletType extends Content{
|
|||
}
|
||||
|
||||
public void init(Bullet b){
|
||||
if(pierceCap >= 1) {
|
||||
if(pierceCap >= 1){
|
||||
pierce = true;
|
||||
//pierceBuilding is not enabled by default, because a bullet may want to *not* pierce buildings
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw
|
|||
});
|
||||
}
|
||||
|
||||
if(type.pierceCap != -1 && collided.size >= type.pierceCap) {
|
||||
if(type.pierceCap != -1 && collided.size >= type.pierceCap){
|
||||
remove();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,4 +73,4 @@ abstract class LaunchCoreComp implements Drawc, Timedc{
|
|||
Fx.rocketSmokeLarge.at(cx() + Mathf.range(r), cy() + Mathf.range(r), fin());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,4 @@ public class InverseKinematics{
|
|||
return dist > 0 && dist < lengthA;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,4 +198,4 @@ public class LightRenderer{
|
|||
|
||||
lights.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public class LoadRenderer implements Disposable{
|
|||
new Bar("s_proc#", OS.cores / 16f, OS.cores < 4),
|
||||
new Bar("c_aprog", () -> assets != null, () -> assets.getProgress(), () -> false),
|
||||
new Bar("g_vtype", graphics.getGLVersion().type == Type.GLES ? 0.5f : 1f, graphics.getGLVersion().type == Type.GLES),
|
||||
new Bar("s_mem#", () -> true, () -> Core.app.getJavaHeap() / 1024f / 1024f / 200f, () -> Core.app.getJavaHeap() > 1024*1024*110),
|
||||
new Bar("s_mem#", () -> true, () -> Core.app.getJavaHeap() / 1024f / 1024f / 200f, () -> Core.app.getJavaHeap() > 1024 * 1024 * 110),
|
||||
new Bar("v_ver#", () -> Version.build != 0, () -> Version.build == -1 ? 0.3f : (Version.build - 103f) / 10f, () -> !Version.modifier.equals("release")),
|
||||
new Bar("s_osv", OS.isWindows ? 0.35f : OS.isLinux ? 0.9f : OS.isMac ? 0.5f : 0.2f, OS.isMac),
|
||||
new Bar("v_worlds#", () -> Vars.control != null && Vars.control.saves != null, () -> Vars.control.saves.getSaveSlots().size / 30f, () -> Vars.control.saves.getSaveSlots().size > 30),
|
||||
|
|
|
|||
|
|
@ -21,4 +21,4 @@ public enum DataType{
|
|||
DataType(Color color){
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@ public enum LCategory{
|
|||
LCategory(Color color){
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public class DatabaseDialog extends BaseDialog{
|
|||
UnlockableContent unlock = (UnlockableContent)array.get(i);
|
||||
|
||||
Image image = unlocked(unlock) ? new Image(unlock.icon(Cicon.medium)).setScaling(Scaling.fit) : new Image(Icon.lock, Pal.gray);
|
||||
list.add(image).size(8*4).pad(3);
|
||||
list.add(image).size(8 * 4).pad(3);
|
||||
ClickListener listener = new ClickListener();
|
||||
image.addListener(listener);
|
||||
if(!Vars.mobile && unlocked(unlock)){
|
||||
|
|
|
|||
|
|
@ -491,4 +491,4 @@ public class JoinDialog extends BaseDialog{
|
|||
public Server(){
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||
//planet selection
|
||||
new Table(t -> {
|
||||
t.right();
|
||||
if(content.planets().count(p -> p.accessible) > 1) {
|
||||
if(content.planets().count(p -> p.accessible) > 1){
|
||||
t.table(Styles.black6, pt -> {
|
||||
//TODO localize
|
||||
pt.add("[accent]Planets[]");
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ public class PlacementFragment extends Fragment{
|
|||
|
||||
for(int i = 0; i < blockSelect.length; i++){
|
||||
if(Core.input.keyTap(blockSelect[i])){
|
||||
if(i > 9) { //select block directionally
|
||||
if(i > 9){ //select block directionally
|
||||
Seq<Block> blocks = getUnlockedByCategory(currentCategory);
|
||||
Block currentBlock = getSelectedBlock(currentCategory);
|
||||
for(int j = 0; j < blocks.size; j++){
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ public class TractorBeamTurret extends BaseTurret{
|
|||
}
|
||||
|
||||
@Override
|
||||
public float efficiency() {
|
||||
public float efficiency(){
|
||||
return super.efficiency() * coolant;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ public class ArmoredConveyor extends Conveyor{
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock) {
|
||||
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
||||
return otherblock.outputsItems() && blendsArmored(tile, rotation, otherx, othery, otherrot, otherblock);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ public class Conveyor extends Block implements Autotiler{
|
|||
noSleep();
|
||||
}
|
||||
|
||||
public boolean pass(Item item) {
|
||||
public boolean pass(Item item){
|
||||
if(next != null && next.team == team && next.acceptItem(this, item)){
|
||||
next.handleItem(this, item);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@ public class LogicBlock extends Block{
|
|||
}
|
||||
|
||||
@Override
|
||||
public void drawSelect() {
|
||||
public void drawSelect(){
|
||||
Groups.unit.each(u -> u.controller() instanceof LogicAI ai && ai.controller == this, unit -> {
|
||||
Drawf.square(unit.x, unit.y, unit.hitSize, unit.rotation + 45);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class PowerDiode extends Block{
|
|||
float frontStored = frontGraph.getBatteryStored() / frontGraph.getTotalBatteryCapacity();
|
||||
|
||||
// try to send if the back side has more % capacity stored than the front side
|
||||
if(backStored > frontStored) {
|
||||
if(backStored > frontStored){
|
||||
// send half of the difference
|
||||
float amount = backGraph.getBatteryStored() * (backStored - frontStored) / 2;
|
||||
// prevent sending more than the front can handle
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class Pump extends LiquidBlock{
|
|||
}
|
||||
|
||||
@Override
|
||||
public void drawPlace(int x, int y, int rotation, boolean valid) {
|
||||
public void drawPlace(int x, int y, int rotation, boolean valid){
|
||||
Tile tile = world.tile(x, y);
|
||||
if(tile == null) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -94,4 +94,4 @@ public class CommandCenter extends Block{
|
|||
team.data().command = UnitCommand.all[read.b()];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public class Reconstructor extends UnitBlock{
|
|||
stats.add(Stat.output, table -> {
|
||||
table.row();
|
||||
for(var upgrade : upgrades){
|
||||
float size = 8*3;
|
||||
float size = 8 * 3;
|
||||
if(upgrade[0].unlockedNow() && upgrade[1].unlockedNow()){
|
||||
table.image(upgrade[0].icon(Cicon.small)).size(size).padRight(4).padLeft(10).scaling(Scaling.fit).right();
|
||||
table.add(upgrade[0].localizedName).left();
|
||||
|
|
|
|||
|
|
@ -43,4 +43,4 @@ public class DrawAnimation extends DrawBlock{
|
|||
public TextureRegion[] icons(Block block){
|
||||
return new TextureRegion[]{block.region, top};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,4 +12,4 @@
|
|||
- स्थानीय नेटवर्क या समर्पित सर्वरस के माध्यम से क्रॉस-प्लेटफॉर्म मल्टीप्लेयर
|
||||
- कस्टम खेल के नियम: ब्लॉक की लागत, दुश्मन के आँकड़े, शुरू आइटम, लहर समय और अधिक बदलें
|
||||
- एक शक्तिशाली संपादक, यादृच्छिक रूप से अयस्कों, इलाकों, सजावट को बनाने और मानचित्रों के लिए समरूपता को लागू करने के लिए उपकरण के साथ
|
||||
- अनुकूलन योग्य मानचित्र तरंग लेआउट
|
||||
- अनुकूलन योग्य मानचित्र तरंग लेआउट
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
एक कारखाने आधारित सैंडबॉक्स टॉवर रक्षा खेल।
|
||||
एक कारखाने आधारित सैंडबॉक्स टॉवर रक्षा खेल।
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
एक कारखाने आधारित सैंडबॉक्स टॉवर रक्षा खेल।
|
||||
एक कारखाने आधारित सैंडबॉक्स टॉवर रक्षा खेल।
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
मिन्दुस्त्र्यि (Mindustry)
|
||||
मिन्दुस्त्र्यि (Mindustry)
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@ Fitur:
|
|||
- Multipemain lintas platform melalui jaringan lokal atau server khusus
|
||||
- Aturan permainan khusus: Ubah biaya blok, statistik musuh, item awal, waktu gelombang, dan lainnya
|
||||
- Editor yang andal, dengan alat untuk menghasilkan sumber daya, medan, dekorasi, dan menerapkan simetri ke peta secara acak
|
||||
- Tata letak gelombang peta yang dapat disesuaikan
|
||||
- Tata letak gelombang peta yang dapat disesuaikan
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Sebuah game pertahanan menara sandbox berbasis pabrik.
|
||||
Sebuah game pertahanan menara sandbox berbasis pabrik.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Sebuah game pertahanan menara sandbox berbasis pabrik.
|
||||
Sebuah game pertahanan menara sandbox berbasis pabrik.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Mindustry
|
||||
Mindustry
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
- Utworzono kategorie serwerów (dodane dzięki @Quezler)
|
||||
- Dodano funckję require() dla skryptów (dodane dzięki @DeltaNedas)
|
||||
- Dodano gradient kolorystyczny dla statusu baterii (dodane dzięki @Arkanic)
|
||||
- Zmieniono ładowanie skryptów: dla modów z więcej niż jednym plikiem skryptowym, główny plik musi nazywać się "main.js" oraz musi zawierać require() do pozostałych plików
|
||||
- Zmieniono ładowanie skryptów: dla modów z więcej niż jednym plikiem skryptowym, główny plik musi nazywać się "main.js" oraz musi zawierać require() do pozostałych plików
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- Aktualizacja sugerowanych linków
|
||||
- Aktualizacja tłumaczeń
|
||||
- Poprawiono zmienianie nazwy gracza po tym jak serwer został zamknięty
|
||||
- Dodano mnożnik paneli słonecznych
|
||||
- Dodano mnożnik paneli słonecznych
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- Aktualizacja sugerowanych linków
|
||||
- Aktualizacja tłumaczeń
|
||||
- Poprawiono zmienianie nazwy gracza po tym jak serwer został zamknięty
|
||||
- Dodano mnożnik paneli słonecznych
|
||||
- Dodano mnożnik paneli słonecznych
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ task copyAssets(){
|
|||
}
|
||||
|
||||
delete{
|
||||
delete fileTree('assets') {
|
||||
delete fileTree('assets'){
|
||||
include '**/*.ogg'
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
before_install:
|
||||
- wget https://github.com/sormuras/bach/raw/master/install-jdk.sh
|
||||
- source install-jdk.sh --feature 14
|
||||
- jshell --version
|
||||
- jshell --version
|
||||
|
|
|
|||
|
|
@ -554,7 +554,7 @@ public class ApplicationTests{
|
|||
|
||||
@Test
|
||||
void allBlockTest(){
|
||||
Tiles tiles = world.resize(256*3 + 20, 10);
|
||||
Tiles tiles = world.resize(256 * 3 + 20, 10);
|
||||
|
||||
world.beginMapLoad();
|
||||
for(int x = 0; x < tiles.width; x++){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue