From a8e37da4bc3c3a605d13ee43dbe54e488b12a9ab Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Thu, 6 Mar 2014 18:27:03 -0400 Subject: [PATCH 1/3] Minor Change Just sprucing up some config stuff... --- .../mod_pocketDim/DDProperties.java | 17 +++++++++++++---- .../mod_pocketDim/ticking/MobMonolith.java | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/DDProperties.java b/src/main/java/StevenDimDoors/mod_pocketDim/DDProperties.java index 622d107..a7aed13 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/DDProperties.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/DDProperties.java @@ -96,6 +96,7 @@ public class DDProperties public final boolean LimboReturnsInventoryEnabled; public final boolean DoorRenderingEnabled; public final boolean TNFREAKINGT_Enabled; + public final boolean MonolithTeleportationEnabled; /** @@ -118,10 +119,11 @@ public class DDProperties //Names of categories private final String CATEGORY_CRAFTING = "crafting"; private final String CATEGORY_ENTITY = "entity"; + private final String CATEGORY_SPECIAL = "special"; private final String CATEGORY_DIMENSION = "dimension"; private final String CATEGORY_PROVIDER = "provider"; private final String CATEGORY_BIOME = "biome"; - private final String CATEGORY_LOOT = "loot"; + private final String CATEGORY_LOOT = "loot"; private DDProperties(File configFile) { @@ -228,13 +230,20 @@ public class DDProperties config.save(); - //Unfortunately, there are users out there who have been misconfiguring the worldgen blocks to have IDs above 255. - //This leads to disastrous and cryptic errors in other areas of Minecraft. To prevent headaches, we'll throw - //an exception here if the blocks have invalid IDs. + // Unfortunately, there are users out there who have been misconfiguring the worldgen blocks to have IDs above 255. + // This leads to disastrous and cryptic errors in other areas of Minecraft. To prevent headaches, we'll throw + // an exception here if the blocks have invalid IDs. if (LimboBlockID > 255 || PermaFabricBlockID > 255) { throw new IllegalStateException("World generation blocks MUST have block IDs less than 256. Fix your configuration!"); } + + // SPECIAL CONFIG SETTINGS + // I'm adding this category because one of our users convinced me, personally, to please allow this. + // These settings are checked _after_ we save the config file, so Forge won't generate them automatically. + // Whoever wants to use them must intentionally write them into the config file. + + MonolithTeleportationEnabled = config.get(CATEGORY_SPECIAL, "Enable Monolith Teleportation", true).getBoolean(true); } public static DDProperties initialize(File configFile) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java index de4103e..9119d08 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java @@ -193,7 +193,7 @@ public class MobMonolith extends EntityFlying implements IMob this.soundTime=200; } } - else if (!this.worldObj.isRemote && !entityPlayer.capabilities.isCreativeMode) + else if (!this.worldObj.isRemote && properties.MonolithTeleportationEnabled && !entityPlayer.capabilities.isCreativeMode) { ChunkCoordinates coords = LimboProvider.getLimboSkySpawn(entityPlayer.worldObj.rand); Point4D destination = new Point4D((int) (coords.posX+entityPlayer.posX), coords.posY, (int) (coords.posZ+entityPlayer.posZ ), mod_pocketDim.properties.LimboDimensionID); From 62bd3bd19e106b2abc4db0adf4dcdd5d26e4e299 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Thu, 6 Mar 2014 21:32:38 -0400 Subject: [PATCH 2/3] Changes to Commands Made some minor changes to the way that we register commands with Minecraft. Also changed the way that we generate onCommandUsage() strings so that the style of our outputs is consistent with that of Minecraft and Forge commands. It seems the way the messages were generated changed for MC 1.6. Finally, removed compareTo() from DDCommandBase since it was completely unnecessary (CommandBase already does the same) and casting objects to CommandBase was causing errors with some Chicken Bones commands that directly implemented ICommand. --- .../commands/CommandCreateDungeonRift.java | 8 ----- .../commands/CommandCreatePocket.java | 5 --- .../commands/CommandDeleteAllLinks.java | 5 --- .../commands/CommandDeleteRifts.java | 5 --- .../commands/CommandExportDungeon.java | 7 ----- .../commands/CommandResetDungeons.java | 5 --- .../commands/CommandTeleportPlayer.java | 10 ++---- .../mod_pocketDim/commands/DDCommandBase.java | 31 ++++++++++--------- .../mod_pocketDim/mod_pocketDim.java | 14 ++++----- 9 files changed, 26 insertions(+), 64 deletions(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java index 791b4bb..23e0b64 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java @@ -32,14 +32,6 @@ public class CommandCreateDungeonRift extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) - { - return "Usage: /dd-rift \r\n" + - " /dd-rift list\r\n" + - " /dd-rift random"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java index 1081a18..b2843a6 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java @@ -21,11 +21,6 @@ public class CommandCreatePocket extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-create"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java index 2923716..317b101 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java @@ -28,11 +28,6 @@ public class CommandDeleteAllLinks extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-deletelinks "; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java index 7f6be30..328576c 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java @@ -28,11 +28,6 @@ public class CommandDeleteRifts extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-??? "; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java index 7e7df1d..86008cd 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java @@ -26,13 +26,6 @@ public class CommandExportDungeon extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-export open \r\n" + - " /dd-export closed \r\n" + - " /dd-export override"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java index 0f51851..f9ed088 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java @@ -28,11 +28,6 @@ public class CommandResetDungeons extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "/dd-resetdungeons"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java index 206df94..1b29999 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java @@ -23,17 +23,11 @@ public class CommandTeleportPlayer extends DDCommandBase public static CommandTeleportPlayer instance() { if (instance == null) - { instance = new CommandTeleportPlayer(); - } + return instance; } - - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-tp "; - } - + /** * TODO- Change to accept variety of input, like just coords, just dim ID, or two player names. */ diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java index 87c08ed..ea8061f 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java @@ -39,12 +39,22 @@ public abstract class DDCommandBase extends CommandBase return name; } - /* - * Registers the command at server startup. - */ - public void register(FMLServerStartingEvent event) + @Override + public final String getCommandUsage(ICommandSender sender) { - event.registerServerCommand(this); + StringBuilder builder = new StringBuilder(); + builder.append('/'); + builder.append(name); + builder.append(' '); + builder.append(formats[0]); + for (int index = 1; index < formats.length; index++) + { + builder.append(" OR /"); + builder.append(name); + builder.append(' '); + builder.append(formats[index]); + } + return builder.toString(); } /* @@ -66,10 +76,10 @@ public abstract class DDCommandBase extends CommandBase //Send the argument formats for this command for (String format : formats) { - sendChat(player,("Usage: " + name + " " + format)); + sendChat(player, "Usage: " + name + " " + format); } } - sendChat(player,(result.getMessage())); + sendChat(player, result.getMessage()); } } @@ -78,12 +88,5 @@ public abstract class DDCommandBase extends CommandBase ChatMessageComponent cmp = new ChatMessageComponent(); cmp.addText(message); player.sendChatToPlayer(cmp); - } - - @Override - public int compareTo(Object par1Obj) - { - return this.getCommandName().compareTo(((CommandBase)par1Obj).getCommandName()); - } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index c52aa5f..c44eaee 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -307,16 +307,16 @@ public class mod_pocketDim //TODO- load dims with forced chunks on server startup here // Register commands with the server - CommandResetDungeons.instance().register(event); - CommandCreateDungeonRift.instance().register(event); - CommandDeleteAllLinks.instance().register(event); + event.registerServerCommand( CommandResetDungeons.instance() ); + event.registerServerCommand( CommandCreateDungeonRift.instance() ); + event.registerServerCommand( CommandDeleteAllLinks.instance() ); //CommandDeleteDimensionData.instance().register(event); - CommandDeleteRifts.instance().register(event); - CommandExportDungeon.instance().register(event); + event.registerServerCommand( CommandDeleteRifts.instance() ); + event.registerServerCommand( CommandExportDungeon.instance() ); //CommandPrintDimensionData.instance().register(event); //CommandPruneDimensions.instance().register(event); - CommandCreatePocket.instance().register(event); - CommandTeleportPlayer.instance().register(event); + event.registerServerCommand( CommandCreatePocket.instance() ); + event.registerServerCommand( CommandTeleportPlayer.instance() ); // Initialize a new DeathTracker String deathTrackerFile = DimensionManager.getCurrentSaveRootDirectory() + "/DimensionalDoors/data/deaths.txt"; From b2dfb35a72e5b099c81d743241cb6896a18f139f Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Fri, 7 Mar 2014 01:17:14 -0400 Subject: [PATCH 3/3] Rotation Fixes and Schematic Changes Fixed rotations for hopper and droppers. Hoppers were failing because powered hoppers have different metadata. Droppers were just missing from the list of oriented blocks. Fixed the wooden buttons on Cerevisiae's altar room and added her puzzle room once hoppers were working reliably. --- .../mod_pocketDim/schematic/BlockRotator.java | 38 ++++++++++++++++-- ...omplexHall_Cere-PuzzleWall_Open.schematic} | Bin ...dEnd_Cere-FloatingAltar_Open_100.schematic | Bin 0 -> 1612 bytes 3 files changed, 34 insertions(+), 4 deletions(-) rename src/main/resources/schematics/ruins/{ComplexHall_CerePuzzleWall_Open_100.schematic => ComplexHall_Cere-PuzzleWall_Open.schematic} (100%) create mode 100644 src/main/resources/schematics/ruins/DeadEnd_Cere-FloatingAltar_Open_100.schematic diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/schematic/BlockRotator.java b/src/main/java/StevenDimDoors/mod_pocketDim/schematic/BlockRotator.java index bbf1251..af0050e 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/schematic/BlockRotator.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/schematic/BlockRotator.java @@ -22,6 +22,7 @@ public class BlockRotator static { hasOrientations[Block.dispenser.blockID] = true; + hasOrientations[Block.dropper.blockID] = true; hasOrientations[Block.stairsStoneBrick.blockID] = true; hasOrientations[Block.lever.blockID] = true; hasOrientations[Block.stoneButton.blockID] = true; @@ -241,7 +242,7 @@ public class BlockRotator break; } } - else if (blockID == Block.chest.blockID || blockID == Block.chestTrapped.blockID || blockID == Block.ladder.blockID || blockID == Block.hopperBlock.blockID|| blockID == Block.furnaceBurning.blockID|| blockID == Block.furnaceIdle.blockID) + else if (blockID == Block.chest.blockID || blockID == Block.chestTrapped.blockID || blockID == Block.ladder.blockID || blockID == Block.furnaceBurning.blockID|| blockID == Block.furnaceIdle.blockID) { switch (metadata) { @@ -258,7 +259,36 @@ public class BlockRotator metadata = 3; break; } - + } + else if (blockID == Block.hopperBlock.blockID) + { + switch (metadata) + { + case 2: + metadata = 5; + break; + case 3: + metadata = 4; + break; + case 4: + metadata = 2; + break; + case 5: + metadata = 3; + break; + case 10: + metadata = 13; + break; + case 11: + metadata = 12; + break; + case 12: + metadata = 10; + break; + case 13: + metadata = 11; + break; + } } else if (blockID==Block.vine.blockID) { @@ -352,7 +382,7 @@ public class BlockRotator break; } } - else if(blockID== Block.lever.blockID||blockID== Block.stoneButton.blockID||blockID== Block.stoneButton.blockID||blockID== Block.woodenButton.blockID||blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) + else if(blockID== Block.lever.blockID || blockID == Block.stoneButton.blockID || blockID == Block.woodenButton.blockID || blockID== Block.torchWood.blockID||blockID== Block.torchRedstoneIdle.blockID||blockID== Block.torchRedstoneActive.blockID) { switch (metadata) { @@ -382,7 +412,7 @@ public class BlockRotator break; } } - else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonExtension.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID||blockID==Block.dropper.blockID) + else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonExtension.blockID||blockID==Block.pistonStickyBase.blockID || blockID == Block.dispenser.blockID || blockID == Block.dropper.blockID) { switch (metadata) { diff --git a/src/main/resources/schematics/ruins/ComplexHall_CerePuzzleWall_Open_100.schematic b/src/main/resources/schematics/ruins/ComplexHall_Cere-PuzzleWall_Open.schematic similarity index 100% rename from src/main/resources/schematics/ruins/ComplexHall_CerePuzzleWall_Open_100.schematic rename to src/main/resources/schematics/ruins/ComplexHall_Cere-PuzzleWall_Open.schematic diff --git a/src/main/resources/schematics/ruins/DeadEnd_Cere-FloatingAltar_Open_100.schematic b/src/main/resources/schematics/ruins/DeadEnd_Cere-FloatingAltar_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..3e9d65485337b42cc4cbef17feca6ec5f52dfbd4 GIT binary patch literal 1612 zcmV-S2DAAeiwFP!000000PUR1Zrer_hDVYmO3n=}y6qwcx-wCq=tAf+jguCrixy~s ztYSd22#bg%5f%$3-KP7zN;X7arH@nUW^+d5FN-2MWAgt5n52K6xt=*34k;ar-XE7^ zXEN~JOG_M`4g7%+m!Ab8gb)q1k@%G24)IxL%O^;DjKoJsgtUP66crbWknG7aPjWCF z-31_okYccO7l7mnnvJ)2sDxCEuI>U5g|4#Q0^DM@u-pTNz37u}nr;d2co946sTDIz zRSpded7`_>BY5dOV1fp`S_>sQUG4lEIdwx))uz!g9EwKEa4Ug5>ZNq^x?b5=ehUIF ze;37ZA*q(=bcXtOdtHEiu@d&~PfMDkbwKb}n?|<0Z{D4Ry;v%p70I2DwT1FR%Wx|K zrRk-5J>&>qG&(K-B|6=9Rwc~@o61&Vj;D7Vi2PLkp4k(Gi& zoRHld_qvVLu>uzY;cYaWW@i7c1EkqHYQs0N;av?}3xZF{;gcdAO-KkKgb+dqA%qY@ z2qAIn(jz^ar^%dXYS-|HoIwvC*#5VCucf!M!yf-8_^PvW;d=g^#{H?n=W!_ z2rD|})qB^EcE5DzXMatvoZ0l{c;HUY-RZmNzmI30GyU!6<@IdtjG`nOe@AxTMB5M1 z_9)uE7mHVOH5Q_MTZpFUoIBGie=KZE^j?fcKVHu+-_3>i?!SXOM}CpotBDv$hkL_lhSUT2@s>sgFFl6)ed&DH`Jo(Bi`~M-VdJK54o+p1p$=H5E}V~EIJ`}XvyLM4;BK&i{pnu zp#ND1z0U*!DJ&Hgg$#&&ytooV2qAc$cVRv&7mneKRfQ# z*cV?lMf;6A^2g$9OLR8h{J8wAyM#i76l)`fVY(WIK&5D+2>X*Pfy1E>)bN7h4iPq= z4iOEN{x9jK;al-Gqc{}9B9djEJMv`gTarDzVbiR6QY=oy9*<%lN*IeFNH_d8`ed_Y zo`>XFpV+4(ycx#nf;4HkAW2?JiSkN{c2@G1c)PEPacxUQ;^}ZLhHEjdZVbcoaNBe( zM%qf<%Q8LB>{Y=ngxePOih%vONjpWNxK`8J&P*8I^kCa|iZZnA$ibpNiQ0PXCaL!A z$WBNai7V}SvTCoi=jmdaW%dH$dcqc3CY{>0IZ<%(M)R+RJSRwd167nPn!<(xFY};u zi{T)rOB*T$WOWEbWh-l|V%dqRt!%e=4YEBwNxx>lJ{g|GY?btpCCC$%7S|KCP+k-? z+_bYty_AkwYdT^d8jJS#P=)E@*<052@9Y!55}nRW{~oRqpP*5nIPND2dwXOnB{@;t zM$(j~*|NMBu(ZRE|E&0!*b1P9@}j8WrW?6*a?{K8Qo9*hRuDKT?8CsAIrf$4bbDrH zC+_CXMA=H(MBT|Ht0kY}2e$0`pN27Y(KN_1kAlH^q82IuvxC_|R5ili53cvcF>@vu zW9MycrqmKO$@PEO!!i%@t>;dR?{`uF4{N=zXzF|&gqO1O3SQ`9)VbelOs4g|<-6Z$ zfiXnMn)c?}j@Q@=%-1lnpygXa9vmSE3SqzBzero}iv|(0)bPE73lQEGRq3Z%qY!^! zp^Ou&xQ0PU-k`u}+>D0vzQaXA2qAN1-$PrRC;JCJJJ1rzEf1W9l6SehDl8VIe?#l_=YIZSufp9%>3ke2BlFI); K4w_fa`Tzh)O%OK# literal 0 HcmV?d00001