From b15971189c9f135e587802ca344c949b1ac96706 Mon Sep 17 00:00:00 2001 From: hammer354 <727372184@qq.com> Date: Tue, 26 Sep 2017 16:52:39 +0800 Subject: [PATCH 1/4] Update Forge and change version --- build.gradle | 307 ++++++++++++++++++++++++++------------------------- 1 file changed, 156 insertions(+), 151 deletions(-) diff --git a/build.gradle b/build.gradle index eb165f3..711e49f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,151 +1,156 @@ -buildscript { - repositories { - mavenCentral() - maven { - name = 'forge' - url = 'http://files.minecraftforge.net/maven' - } - maven { - name = 'sonatype' - url = 'https://oss.sonatype.org/content/repositories/snapshots/' - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' - } -} - -repositories { - maven { - name 'slimevoid' - url 'http://hyda.slimevoid.net/maven/repos' - } -} - -apply plugin: 'maven' -apply plugin: 'forge' -apply plugin: 'eclipse' - -def slimevoidVersion = '2.0.4.6' -def forge = '10.13.0.1186' -def mc = '1.7.10-' + forge -def pack = 'dynamictransport' -def github = 'DynamicTransport' -version = '0.1.2.1' -group = 'net.slimevoid' -archivesBaseName = 'DynamicTransport' - -dependencies { - compile 'net.slimevoid:SlimevoidLibrary:' + slimevoidVersion + ':dev' -} - -minecraft { - version = mc - runDir = 'eclipse/assets' - - replaceIn 'net/slimevoid/' + pack + '/core/lib/CoreLib.java' - replace '@VERSION@', project.version - replace 'required-after:SlimevoidLib', 'required-after:Forge@[' + forge + ',);required-after:SlimevoidLib@['+ slimevoidVersion + ',)' -} - -processResources { - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} - -task sourceJar(type: Jar) { - from sourceSets.main.allSource - classifier = 'sources' -} - -task deobfJar(type: Jar) { - from sourceSets.main.output - classifier = 'dev' -} - -build.dependsOn sourceJar,deobfJar - -configurations { - deployJars -} - -dependencies { - deployJars 'org.apache.maven.wagon:wagon-ssh:2.2' -} - -artifacts { - archives sourceJar - archives deobfJar -} - -uploadArchives { - dependsOn 'reobf' - repositories.mavenDeployer { - configuration = configurations.deployJars - if (project.hasProperty("slimevoidUsername")) { - repository(url: 'scp://hyda.slimevoid.net/home/maven/www/repos') { - authentication(userName: slimevoidUsername, password: slimevoidPassword) - } - } else { - repository(url: 'file://localhost/' + project.file('build/repo').getAbsolutePath()) - } - pom { - groupId = project.group - version = project.version - artifactId = project.archivesBaseName - } - pom.project { - name project.archivesBaseName - packaging 'jar' - description archivesBaseName - url 'https://github.com/Slimevoid/' + github - - scm { - url 'https://github.com/Slimevoid/' + github - connection 'scm:git:git://github.com/Slimevoid/' + github + '.git' - developerConnection 'scm:git:git@Slimevoid/' + github + '.git' - } - - issueManagement { - system 'github' - url 'https://github.com/Slimevoid/' + github + '/issues' - } - - licenses { - license { - name 'Lesser General Public Licence' - url 'https://raw.github.com/Slimevoid/' + github + '/master/LICENSE' - distribution 'repo' - } - } - - developers { - developer { - id 'Eurymachus' - name 'Eurymachus' - roles { role 'developer' } - } - developer { - id 'Slimevoid' - name 'Slimevoid Dev Team' - roles { role 'developer' } - } - developer { - id 'Tarig' - name 'Tarig0' - roles { role 'developer' } - } - } - } - } -} +buildscript { + repositories { + mavenCentral() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } +} + +repositories { + maven { + name 'slimevoid' + url 'http://hyda.slimevoid.net/maven/repos' + } +} + +apply plugin: 'maven' +apply plugin: 'forge' +apply plugin: 'eclipse' + +def slimevoidVersion = "2.0.4.6" +def forge = "10.13.4.1558" +def mc = "1.7.10-" + forge + "-1.7.10" +def pack = "dynamictransport" +def github = "DynamicTransport" +version = "0.1.2.0" +group= "net.slimevoid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "DynamicTransport" + +minecraft { + version = mc + runDir = "eclipse" + + replaceIn "net/slimevoid/" + pack + "/core/lib/CoreLib.java" + replace "@VERSION@", project.version + replace "required-after:SlimevoidLib", "required-after:Forge@[" + forge + ",);required-after:SlimevoidLib@[" + slimevoidVersion + ",)" +} + +dependencies { + compile 'net.slimevoid:SlimevoidLibrary:' + slimevoidVersion + ':dev' +} + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} + +task sourceJar(type: Jar) { + from sourceSets.main.allSource + classifier = 'sources' +} + +task deobfJar(type: Jar) { + from sourceSets.main.output + classifier = 'dev' +} + +build.dependsOn sourceJar,deobfJar + +configurations { + deployJars +} + +dependencies { + deployJars 'org.apache.maven.wagon:wagon-ssh:2.2' +} + +artifacts { + archives sourceJar + archives deobfJar +} + +uploadArchives { + dependsOn 'reobf' + repositories.mavenDeployer { + configuration = configurations.deployJars + if (project.hasProperty("slimevoidUsername")) { + repository(url: 'scp://hyda.slimevoid.net/home/maven/www/repos') { + authentication(userName: slimevoidUsername, password: slimevoidPassword) + } + } else { + repository(url: 'file://localhost/' + project.file('build/repo').getAbsolutePath()) + } + pom { + groupId = project.group + version = project.version + artifactId = project.archivesBaseName + } + pom.project { + name project.archivesBaseName + packaging 'jar' + description archivesBaseName + url 'https://github.com/Slimevoid/' + github + + scm { + url 'https://github.com/Slimevoid/' + github + connection 'scm:git:git://github.com/Slimevoid/' + github + '.git' + developerConnection 'scm:git:git@Slimevoid/' + github + '.git' + } + + issueManagement { + system 'github' + url 'https://github.com/Slimevoid/' + github + '/issues' + } + + licenses { + license { + name 'Lesser General Public Licence' + url 'https://raw.github.com/Slimevoid/' + github + '/master/LICENSE' + distribution 'repo' + } + } + + developers { + developer { + id 'Eurymachus' + name 'Eurymachus' + roles { role 'developer' } + } + developer { + id 'Slimevoid' + name 'Slimevoid Dev Team' + roles { role 'developer' } + } + developer { + id 'Tarig' + name 'Tarig0' + roles { role 'developer' } + } + } + } + } +} From 814b0f3af12133a52c203f67e4517fa38dd90f8c Mon Sep 17 00:00:00 2001 From: hammer354 <727372184@qq.com> Date: Tue, 26 Sep 2017 17:02:59 +0800 Subject: [PATCH 2/4] Fix elevator platform stuck in endless loop --- .../client/proxy/ClientProxy.java | 3 ++ .../entities/EntityElevatorPart.java | 12 +++++- .../entities/EntityMasterElevator.java | 40 ++++++++++++++++++- .../event/EntityJoinWorld.java | 14 +++++++ .../dynamictransport/proxy/CommonProxy.java | 3 ++ 5 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 src/main/java/net/slimevoid/dynamictransport/event/EntityJoinWorld.java diff --git a/src/main/java/net/slimevoid/dynamictransport/client/proxy/ClientProxy.java b/src/main/java/net/slimevoid/dynamictransport/client/proxy/ClientProxy.java index 55cfa0d..187e62e 100644 --- a/src/main/java/net/slimevoid/dynamictransport/client/proxy/ClientProxy.java +++ b/src/main/java/net/slimevoid/dynamictransport/client/proxy/ClientProxy.java @@ -7,6 +7,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; import net.slimevoid.dynamictransport.client.event.PlayerTick; import net.slimevoid.dynamictransport.client.presentation.gui.GuiDynamicMarker; import net.slimevoid.dynamictransport.client.presentation.gui.GuiFloorSelection; @@ -18,6 +19,7 @@ import net.slimevoid.dynamictransport.core.lib.PacketLib; import net.slimevoid.dynamictransport.entities.EntityElevatorPart; import net.slimevoid.dynamictransport.entities.EntityMasterElevator; +import net.slimevoid.dynamictransport.event.EntityJoinWorld; import net.slimevoid.dynamictransport.proxy.CommonProxy; import net.slimevoid.dynamictransport.tileentity.TileEntityElevator; import net.slimevoid.dynamictransport.tileentity.TileEntityElevatorComputer; @@ -90,5 +92,6 @@ public void registerConfigurationProperties(File configFile) { @Override public void registerEventHandlers() { FMLCommonHandler.instance().bus().register(new PlayerTick()); + MinecraftForge.EVENT_BUS.register(new EntityJoinWorld()); } } diff --git a/src/main/java/net/slimevoid/dynamictransport/entities/EntityElevatorPart.java b/src/main/java/net/slimevoid/dynamictransport/entities/EntityElevatorPart.java index 00cc732..99b1d21 100644 --- a/src/main/java/net/slimevoid/dynamictransport/entities/EntityElevatorPart.java +++ b/src/main/java/net/slimevoid/dynamictransport/entities/EntityElevatorPart.java @@ -20,9 +20,11 @@ public class EntityElevatorPart extends Entity { public EntityMasterElevator entityElevatorObj; private HashSet confirmedRiders; private int elevatorYOffset; + private boolean flag; public EntityElevatorPart(World par1World,EntityMasterElevator parent, double x,double y, double z) { this(par1World); + this.flag = true; this.prevPosX = x + 0.5F; this.prevPosY = y; this.prevPosZ = z + 0.5F; @@ -167,7 +169,9 @@ public void setDead(ChunkCoordinates parentComputer) { y, z); if (tile != null) { - tile.setParentElevatorComputer(parentComputer); + if (this.flag) { + tile.setParentElevatorComputer(parentComputer); + } if (this.getCamoItem() != null) { tile.setCamoItem(this.getCamoItem()); } @@ -340,6 +344,12 @@ public void setArrived() { public Boolean hasArrived() { return this.getDataWatcher().getWatchableObjectInt(6) == 1; } + + public void checkFlag() { + if (!this.worldObj.isRemote && !this.flag) { + this.setDead(null); + } + } } diff --git a/src/main/java/net/slimevoid/dynamictransport/entities/EntityMasterElevator.java b/src/main/java/net/slimevoid/dynamictransport/entities/EntityMasterElevator.java index 88670e7..3213117 100644 --- a/src/main/java/net/slimevoid/dynamictransport/entities/EntityMasterElevator.java +++ b/src/main/java/net/slimevoid/dynamictransport/entities/EntityMasterElevator.java @@ -19,9 +19,11 @@ public class EntityMasterElevator extends Entity { private boolean canBeHalted; private boolean slowingDown; private int startStops; + private List boundElevatorBlocks; private HashSet parts ; private String elevatorName; private String destFloorName; + private boolean flag; public EntityMasterElevator(World world) { super(world); @@ -30,6 +32,7 @@ public EntityMasterElevator(World world) { this.entityCollisionReduction = 1.0F; this.ignoreFrustumCheck = true; this.setSize(0F,0F); //this entity doesn't have a bounding box only the parts + this.boundElevatorBlocks = new ArrayList(); this.parts= new HashSet(); this.motionX = 0.0D; this.motionY = 0.0D; @@ -39,6 +42,7 @@ public EntityMasterElevator(World world) { public EntityMasterElevator(World world, double x, double y, double z) { this(world); + this.flag = true; this.prevPosX = x + 0.5F; this.prevPosY = y + 0.5F; this.prevPosZ = z + 0.5F; @@ -56,6 +60,7 @@ public void setProperties(int destination, String destinationName, float elevato this.computerPos = computer; this.canBeHalted = haltable; + this.boundElevatorBlocks = elevatorParts; for (ChunkCoordinates elevatorPart : elevatorParts) { EntityElevatorPart part = new EntityElevatorPart(this.worldObj, this, elevatorPart.posX, elevatorPart.posY + this.posY, elevatorPart.posZ); this.worldObj.spawnEntityInWorld(part); @@ -151,6 +156,7 @@ public void setDead() { @Override public void onUpdate() { + this.checkFlag(); super.onUpdate(); //get all the flags @@ -252,7 +258,20 @@ protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setFloat("TopSpeed", this.getMaximumSpeed()); //nbttagcompound.setInteger("PartCount",this.parts.size()); - + int BoundElevatorBlocksX[] = new int[boundElevatorBlocks.size()]; + int BoundElevatorBlocksY[] = new int[boundElevatorBlocks.size()]; + int BoundElevatorBlocksZ[] = new int[boundElevatorBlocks.size()]; + for (int i = 0; i < boundElevatorBlocks.size(); i++) { + BoundElevatorBlocksX[i] = boundElevatorBlocks.get(i).posX; + BoundElevatorBlocksY[i] = boundElevatorBlocks.get(i).posY; + BoundElevatorBlocksZ[i] = boundElevatorBlocks.get(i).posZ; + } + nbttagcompound.setIntArray("BoundElevatorBlocksX", + BoundElevatorBlocksX); + nbttagcompound.setIntArray("BoundElevatorBlocksY", + BoundElevatorBlocksY); + nbttagcompound.setIntArray("BoundElevatorBlocksZ", + BoundElevatorBlocksZ); } @Override @@ -263,7 +282,13 @@ protected void readEntityFromNBT(NBTTagCompound nbttagcompound) { this.destFloorName = nbttagcompound.getString("destName"); this.computerPos = new ChunkCoordinates(nbttagcompound.getInteger("ComputerX"), nbttagcompound.getInteger("ComputerY"), nbttagcompound.getInteger("ComputerZ")); - + int BoundElevatorBlocksX[] = nbttagcompound.getIntArray("BoundElevatorBlocksX"); + int BoundElevatorBlocksY[] = nbttagcompound.getIntArray("BoundElevatorBlocksY"); + int BoundElevatorBlocksZ[] = nbttagcompound.getIntArray("BoundElevatorBlocksZ"); + boundElevatorBlocks.clear(); + for (int i = 0; i < BoundElevatorBlocksY.length; i++) { + boundElevatorBlocks.add(new ChunkCoordinates(BoundElevatorBlocksX[i], BoundElevatorBlocksY[i], BoundElevatorBlocksZ[i])); + } } protected TileEntityElevatorComputer getParentElevatorComputer() { @@ -286,4 +311,15 @@ protected ChunkCoordinates getParentElevatorComputerPos() { public float getMinElevatorMovingSpeed() { return minElevatorMovingSpeed; } + + private void checkFlag() { + if (!this.worldObj.isRemote && !this.flag) { + this.flag = true; + for (ChunkCoordinates elevatorPart : boundElevatorBlocks) { + EntityElevatorPart part = new EntityElevatorPart(this.worldObj, this, elevatorPart.posX, elevatorPart.posY + this.posY, elevatorPart.posZ); + this.worldObj.spawnEntityInWorld(part); + this.parts.add(part); + } + } + } } diff --git a/src/main/java/net/slimevoid/dynamictransport/event/EntityJoinWorld.java b/src/main/java/net/slimevoid/dynamictransport/event/EntityJoinWorld.java new file mode 100644 index 0000000..57a83b7 --- /dev/null +++ b/src/main/java/net/slimevoid/dynamictransport/event/EntityJoinWorld.java @@ -0,0 +1,14 @@ +package net.slimevoid.dynamictransport.event; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.slimevoid.dynamictransport.entities.EntityElevatorPart; + +public class EntityJoinWorld { + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) { + if (event.entity instanceof EntityElevatorPart) { + ((EntityElevatorPart) event.entity).checkFlag(); + } + } +} diff --git a/src/main/java/net/slimevoid/dynamictransport/proxy/CommonProxy.java b/src/main/java/net/slimevoid/dynamictransport/proxy/CommonProxy.java index fcd7fb1..e90be59 100644 --- a/src/main/java/net/slimevoid/dynamictransport/proxy/CommonProxy.java +++ b/src/main/java/net/slimevoid/dynamictransport/proxy/CommonProxy.java @@ -5,12 +5,14 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; import net.slimevoid.dynamictransport.container.ContainerDynamicMarker; import net.slimevoid.dynamictransport.container.ContainerFloorSelection; import net.slimevoid.dynamictransport.core.DynamicTransportMod; import net.slimevoid.dynamictransport.core.lib.ConfigurationLib; import net.slimevoid.dynamictransport.core.lib.GuiLib; import net.slimevoid.dynamictransport.core.lib.PacketLib; +import net.slimevoid.dynamictransport.event.EntityJoinWorld; import net.slimevoid.dynamictransport.tileentity.TileEntityElevator; import net.slimevoid.dynamictransport.tileentity.TileEntityElevatorComputer; import net.slimevoid.dynamictransport.tileentity.TileEntityFloorMarker; @@ -112,6 +114,7 @@ public void registerTickHandlers() { @Override public void registerEventHandlers() { + MinecraftForge.EVENT_BUS.register(new EntityJoinWorld()); } } From bfb1bf290a7d9c9134de546224a43387b8b5515a Mon Sep 17 00:00:00 2001 From: hammer354 <727372184@qq.com> Date: Tue, 26 Sep 2017 17:06:03 +0800 Subject: [PATCH 3/4] Move messages to lang file --- .../TileEntityElevatorComputer.java | 69 ++++++++++--------- .../tileentity/TileEntityFloorMarker.java | 17 +++-- .../assets/dynamictransport/lang/en_US.lang | 13 +++- 3 files changed, 58 insertions(+), 41 deletions(-) diff --git a/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityElevatorComputer.java b/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityElevatorComputer.java index 537318a..19a08b7 100644 --- a/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityElevatorComputer.java +++ b/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityElevatorComputer.java @@ -12,7 +12,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.IChatComponent; import net.minecraft.util.MathHelper; import net.slimevoid.dynamictransport.core.lib.BlockLib; import net.slimevoid.dynamictransport.core.lib.ConfigurationLib; @@ -147,11 +149,11 @@ public boolean addFloorMarker(ChunkCoordinates markerBlock, EntityPlayer entityp if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - String.format("Block Successfully Bound to Elevator: %0$s.", - this.elevatorName)); + "slimevoid.DT.elevatorcomputer.bindMarkerSuccessWithName", + this.elevatorName); } else { ChatHelper.addMessageToPlayer(entityplayer, - "Block Successfully Bound to Elevator"); + "slimevoid.DT.elevatorcomputer.bindMarkerSuccess"); } this.updateBlock(); return true; @@ -159,44 +161,45 @@ public boolean addFloorMarker(ChunkCoordinates markerBlock, EntityPlayer entityp if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - String.format("Block Can Not be Bound to Elevator: %0$s. Block Does Not Seem To Be a Floor Marker", - this.elevatorName)); + "slimevoid.DT.elevatorcomputer.bindInvalidMarkerWithName", + this.elevatorName); } else { ChatHelper.addMessageToPlayer(entityplayer, - "Block Can Not be Bound to Elevator. Block Does Not Seem To Be a Floor Marker"); + "slimevoid.DT.elevatorcomputer.bindInvalidMarker"); } } } else { if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - String.format("Block Can Not be Bound to Elevator: %0$s. Block Must be set Withing %1$s Meters of an Elevator Block", - this.elevatorName, - ConfigurationLib.MaxBindingRange)); + "slimevoid.DT.elevatorcomputer.bindMarkerOutOfRangeWithName", + this.elevatorName, + ConfigurationLib.MaxBindingRange); } else { ChatHelper.addMessageToPlayer(entityplayer, - String.format("Block Can Not be Bound to Elevator. Block Must be set Withing %0$s Meters of an Elevator Block", - ConfigurationLib.MaxBindingRange)); + "slimevoid.DT.elevatorcomputer.bindMarkerOutOfRange", + ConfigurationLib.MaxBindingRange); } } } else { if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - "Block Can Not be Bound to Elevator: %0$s. Must Bind at Least One Elevator Block"); + "slimevoid.DT.elevatorcomputer.bindMarkerAfterElevatorWithName", + this.elevatorName); } else { ChatHelper.addMessageToPlayer(entityplayer, - "Block Can Not be Bound to Elevator. Must Bind at Least One Elevator Block"); + "slimevoid.DT.elevatorcomputer.bindMarkerAfterElevator"); } } } else { if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - String.format("Block Already Bound to Elevator: %0$s", - this.elevatorName)); + "slimevoid.DT.elevatorcomputer.bindElevatorAlreadyBoundWithName", + this.elevatorName); } else { ChatHelper.addMessageToPlayer(entityplayer, - "Block Already Bound to Elevator"); + "slimevoid.DT.elevatorcomputer.bindElevatorAlreadyBound"); } this.updateBlock(); return true; @@ -204,14 +207,14 @@ public boolean addFloorMarker(ChunkCoordinates markerBlock, EntityPlayer entityp } else { if (this.elevatorName != null && !this.elevatorName.isEmpty()) { ChatHelper.addMessageToPlayer(entityplayer, - String.format("You are no longer the Technician for the Elevator %0$s", - this.elevatorName)); + "slimevoid.DT.elevatorcomputer.bindNoLongerTechWithName", + this.elevatorName); } else { ChatHelper.addMessageToPlayer(entityplayer, - String.format("You are no longer the Technician for the Elevator at %0$s, %1$s ,%2$s", - this.xCoord, - this.yCoord, - this.zCoord)); + "slimevoid.DT.elevatorcomputer.bindNoLongerTech", + this.xCoord, + this.yCoord, + this.zCoord); } } return false; @@ -307,13 +310,13 @@ public boolean removeBlockByPlayer(EntityPlayer player, BlockBase blockBase) { blockBase); } - public String callElevator(int i, String Floorname) { + public IChatComponent callElevator(int i, String Floorname) { return this.callElevator(i, false, Floorname); } - private String callElevator(int i, boolean forMaintenance, String floorname) { + private IChatComponent callElevator(int i, boolean forMaintenance, String floorname) { if (this.mode == ElevatorMode.Available) { if (forMaintenance) { @@ -330,34 +333,34 @@ private String callElevator(int i, boolean forMaintenance, String floorname) { this.floorSpool.put(i, floorname); } else { - return "Elevator Already At Floor " - + (floorname == null || floorname.trim().isEmpty() ? i : floorname); + return new ChatComponentTranslation("slimevoid.DT.elevatorcomputer.elevatorAlreadyAtFloor", + floorname == null || floorname.trim().isEmpty() ? i : floorname); } } this.doCallElevator(i, floorname); - return "Elevator Called to Floor " - + (floorname == null || floorname.trim().isEmpty() ? i : floorname); + return new ChatComponentTranslation("slimevoid.DT.elevatorcomputer.elevatorCalledToFloor", + floorname == null || floorname.trim().isEmpty() ? i : floorname); } else if (this.mode == ElevatorMode.Maintenance) { if (forMaintenance) { sendMessageFromAllFloors("slimevoid.DT.elevatorcomputer.alreadyMant"); } - return "Elevator in Maintenance Mode please Try Again Later"; + return new ChatComponentTranslation("slimevoid.DT.elevatorcomputer.inMant"); } else if (this.mode == ElevatorMode.TransitUp || this.mode == ElevatorMode.TransitDown) { if (forMaintenance) { this.pendingMaintenance = true; sendMessageFromAllFloors("slimevoid.DT.elevatorcomputer.mantQueued"); - return "Maintenance Mode Request Queued"; + return new ChatComponentTranslation("slimevoid.DT.elevatorcomputer.mantQueued"); } else { this.floorSpool.put(i, floorname); - return "Elevator Called to Floor " - + (floorname == null || floorname.trim().isEmpty() ? i : floorname); + return new ChatComponentTranslation("slimevoid.DT.elevatorcomputer.elevatorCalledToFloor", + floorname == null || floorname.trim().isEmpty() ? i : floorname); } } - return "WTF you should never see me"; + return new ChatComponentTranslation("WTF you should never see me"); } diff --git a/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityFloorMarker.java b/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityFloorMarker.java index edff959..cf9efb2 100644 --- a/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityFloorMarker.java +++ b/src/main/java/net/slimevoid/dynamictransport/tileentity/TileEntityFloorMarker.java @@ -5,9 +5,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S02PacketChat; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.IChatComponent; import net.minecraftforge.common.util.ForgeDirection; import net.slimevoid.dynamictransport.core.DynamicTransportMod; import net.slimevoid.dynamictransport.core.lib.BlockLib; @@ -66,15 +69,15 @@ private void callElevator() { TileEntityElevatorComputer comTile = this.getParentElevatorComputer(); if (comTile != null) { - String msg = comTile.callElevator(this.yCoord + this.yOffset, + IChatComponent ret = comTile.callElevator(this.yCoord + this.yOffset, this.floorName); if (!this.worldObj.isRemote) { - ChatHelper.sendChatMessageToAllNear(this.getWorldObj(), - this.xCoord, - this.yCoord, - this.zCoord, - 4, - msg); + MinecraftServer.getServer().getConfigurationManager().sendToAllNear(this.xCoord, + this.yCoord, + this.zCoord, + 4, + this.getWorldObj().provider.dimensionId, + new S02PacketChat(ret)); } } } diff --git a/src/main/resources/assets/dynamictransport/lang/en_US.lang b/src/main/resources/assets/dynamictransport/lang/en_US.lang index f721691..2d5cd00 100644 --- a/src/main/resources/assets/dynamictransport/lang/en_US.lang +++ b/src/main/resources/assets/dynamictransport/lang/en_US.lang @@ -5,6 +5,9 @@ slimevoid.DT.elevatorcomputer.enterMantWithName=Elevator: %1$s Entering Maintena slimevoid.DT.elevatorcomputer.mantCompleteWithName=Elevator: %1$s Maintenance Complete slimevoid.DT.elevatorcomputer.mantQueued=Maintenance Mode Request Queued slimevoid.DT.elevatorcomputer.alreadyMant=Elevator Already in Maintenance Mode +slimevoid.DT.elevatorcomputer.inMant=Elevator in Maintenance Mode please Try Again Later +slimevoid.DT.elevatorcomputer.elevatorAlreadyAtFloor=Elevator Already At Floor %1$s +slimevoid.DT.elevatorcomputer.elevatorCalledToFloor=Elevator Called to Floor %1$s slimevoid.DT.elevatorcomputer.bindElevatorSuccess=Elevator Block Successfully Bound to Elevator slimevoid.DT.elevatorcomputer.bindElevatorSuccessWithName=Elevator Block Successfully Bound to Elevator: %1$s. slimevoid.DT.elevatorcomputer.bindInvalidElevatorWithName=Block Can Not be Bound to Elevator: %1$s. Block Does Not Seem To Be an Elevator @@ -16,7 +19,15 @@ slimevoid.DT.elevatorcomputer.bindElevatorAlreadyBound=Block Already Bound to El slimevoid.DT.elevatorcomputer.bindElevatorElevationInvalidWithName=Block Can Not be Bound to Elevator: %1$s. Block Must be set at Y %1$s slimevoid.DT.elevatorcomputer.bindElevatorElevationInvalid=Block Can Not be Bound to Elevator. Block Must be Set at Y %1$s slimevoid.DT.elevatorcomputer.bindNoLongerTechWithName=You are no longer the Technician for the Elevator %1$s -slimevoid.DT.elevatorcomputer.bindNoLongerTech=You are no longer the Technician for the Elevator at %1$s, %2$s ,%3$s +slimevoid.DT.elevatorcomputer.bindNoLongerTech=You are no longer the Technician for the Elevator at %1$s, %2$s, %3$s +slimevoid.DT.elevatorcomputer.bindMarkerSuccessWithName=Block Successfully Bound to Elevator: %1$s. +slimevoid.DT.elevatorcomputer.bindMarkerSuccess=Block Successfully Bound to Elevator +slimevoid.DT.elevatorcomputer.bindInvalidMarkerWithName=Block Can Not be Bound to Elevator: %1$s. Block Does Not Seem To Be a Floor Marker +slimevoid.DT.elevatorcomputer.bindInvalidMarker=Block Can Not be Bound to Elevator. Block Does Not Seem To Be a Floor Marker +slimevoid.DT.elevatorcomputer.bindMarkerOutOfRangeWithName=Block Can Not be Bound to Elevator: %1$s. Block Must be set Withing %2$s Meters of an Elevator Block +slimevoid.DT.elevatorcomputer.bindMarkerOutOfRange=Block Can Not be Bound to Elevator. Block Must be set Withing %1$s Meters of an Elevator Block +slimevoid.DT.elevatorcomputer.bindMarkerAfterElevatorWithName=Block Can Not be Bound to Elevator: %1$s. Must Bind at Least One Elevator Block +slimevoid.DT.elevatorcomputer.bindMarkerAfterElevator=Block Can Not be Bound to Elevator. Must Bind at Least One Elevator Block slimevoid.DT.entityElevator.arriveWithName=Elevator %1$s Arrived at %2$s slimevoid.DT.entityElevator.arrive=Elevator Arrived at %1$s slimevoid.DT.dynamicMarker.unbound=Marker Block Unbound From 561f6bc0d3ba196af358c6f814e0df3484098f0e Mon Sep 17 00:00:00 2001 From: hammer354 <727372184@qq.com> Date: Tue, 26 Sep 2017 17:06:32 +0800 Subject: [PATCH 4/4] add zh_CN.lang --- .../assets/dynamictransport/lang/zh_CN.lang | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/resources/assets/dynamictransport/lang/zh_CN.lang diff --git a/src/main/resources/assets/dynamictransport/lang/zh_CN.lang b/src/main/resources/assets/dynamictransport/lang/zh_CN.lang new file mode 100644 index 0000000..a038109 --- /dev/null +++ b/src/main/resources/assets/dynamictransport/lang/zh_CN.lang @@ -0,0 +1,48 @@ + +slimevoid.DT.elevatorcomputer.enterMant=正在进入维护模式 +slimevoid.DT.elevatorcomputer.mantComplete=电梯维护完成 +slimevoid.DT.elevatorcomputer.enterMantWithName=电梯: %1$s 正在进入维护模式 +slimevoid.DT.elevatorcomputer.mantCompleteWithName=电梯: %1$s 维护完成 +slimevoid.DT.elevatorcomputer.mantQueued=维护模式请求已加入队列 +slimevoid.DT.elevatorcomputer.alreadyMant=电梯早已在维护模式中 +slimevoid.DT.elevatorcomputer.inMant=电梯在维护模式中 请稍后再试 +slimevoid.DT.elevatorcomputer.elevatorAlreadyAtFloor=电梯早已在楼层 %1$s +slimevoid.DT.elevatorcomputer.elevatorCalledToFloor=电梯召唤到楼层 %1$s +slimevoid.DT.elevatorcomputer.bindElevatorSuccess=电梯方块成功绑定到电梯 +slimevoid.DT.elevatorcomputer.bindElevatorSuccessWithName=电梯方块成功绑定到电梯: %1$s. +slimevoid.DT.elevatorcomputer.bindInvalidElevatorWithName=方块不能被绑定到电梯: %1$s. 方块似乎不是一个电梯 +slimevoid.DT.elevatorcomputer.bindInvalidElevator=方块不能被绑定到电梯. 方块似乎不是一个电梯 +slimevoid.DT.elevatorcomputer.bindElevatorOutOfRangeWithName=电梯方块不能被绑定到电梯: %1$s. 方块必须被放置在另一个电梯方块或电梯电脑 %2$s 米内 +slimevoid.DT.elevatorcomputer.bindElevatorOutOfRange=电梯方块不能被绑定到电梯. 方块必须被放置在另一个电梯方块或电梯电脑 %1$s 米内 +slimevoid.DT.elevatorcomputer.bindElevatorAlreadyBoundWithName=方块早已绑定到电梯: %1$s +slimevoid.DT.elevatorcomputer.bindElevatorAlreadyBound=方块早已绑定到电梯 +slimevoid.DT.elevatorcomputer.bindElevatorElevationInvalidWithName=方块不能被绑定到电梯: %1$s. 方块必须被放置在Y %1$s +slimevoid.DT.elevatorcomputer.bindElevatorElevationInvalid=方块不能被绑定到电梯. 方块必须被放置在Y %1$s +slimevoid.DT.elevatorcomputer.bindNoLongerTechWithName=你不再是电梯 %1$s 的技术人员 +slimevoid.DT.elevatorcomputer.bindNoLongerTech=你不再是位于 %1$s, %2$s, %3$s 的电梯的技术人员 +slimevoid.DT.elevatorcomputer.bindMarkerSuccessWithName=方块成功绑定到电梯: %1$s. +slimevoid.DT.elevatorcomputer.bindMarkerSuccess=方块成功绑定到电梯 +slimevoid.DT.elevatorcomputer.bindInvalidMarkerWithName=方块不能被绑定到电梯: %1$s. 方块似乎不是一个楼层标识器 +slimevoid.DT.elevatorcomputer.bindInvalidMarker=方块不能被绑定到电梯. 方块似乎不是一个楼层标识器 +slimevoid.DT.elevatorcomputer.bindMarkerOutOfRangeWithName=方块不能被绑定到电梯: %1$s. 方块必须被放置在一个电梯方块 %2$s 米内 +slimevoid.DT.elevatorcomputer.bindMarkerOutOfRange=方块不能被绑定到电梯. 方块必须被放置在一个电梯方块 %1$s 米内 +slimevoid.DT.elevatorcomputer.bindMarkerAfterElevatorWithName=方块不能被绑定到电梯: %1$s. 必须绑定至少一个电梯方块 +slimevoid.DT.elevatorcomputer.bindMarkerAfterElevator=方块不能被绑定到电梯. 必须绑定至少一个电梯方块 +slimevoid.DT.entityElevator.arriveWithName=电梯 %1$s 已到达 %2$s +slimevoid.DT.entityElevator.arrive=电梯已到达 %1$s +slimevoid.DT.dynamicMarker.unbound=标识器方块已解除绑定 +slimevoid.DT.dynamicMarker.boundToOtherComputer=标识器方块已绑定到另一个电脑 +slimevoid.DT.dynamicMarker.boundToOtherMarker=标识器方块已绑定到另一个标识器 +slimevoid.DT.dynamicMarker.bindParentMarkerInvalidElevation=子标识器方块不能被绑定到父. 方块必须放置在父标识器的Y水平的 %1$s 米内 +slimevoid.DT.dynamicMarker.bindParentMarkerOutOfRange=子标识器不能被绑定到父. 方块必须被放置在一个电梯方块或电梯电脑的 %1$s 米内 +slimevoid.DT.dynamicMarker.bindParentMissingMarker=子标识器不能被绑定. 缺少父方块 +slimevoid.DT.dynamicMarker.bindMissingElevator=方块不能被绑定, 缺少电脑 +slimevoid.DT.elevatorBlock.unbound=电梯已解除绑定 +slimevoid.DT.elevatorBlock.boundToOtherComputer=电梯方块已绑定到另一个电脑 +slimevoid.DT.elevatorBlock.bindMissingElevator=电梯方块不能被绑定. 缺少电脑 +slimevoid.container.floormarker.submit=提交 +slimevoid.container.floormarker.name=楼层标识器配置 +tile.dt.transport.elevator.name=电梯 +tile.dt.transport.computer.name=电梯电脑 +tile.dt.transport.marker.name=楼层标识器方块 +item.dt.elevatortool.name=电梯工具