mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-02-11 08:30:04 +00:00
Remap all blocks and items to underscore_case
This makes block/model names a little mode consistent and should help with porting to 1.11.2. - Prefix all tile entities with "computercraft:". - Change all "pascalCase" and "CC-*" items to use underscore_case - Listen to the missing mappings event and gracefully convert blocks/items.
This commit is contained in:
parent
25128dfb66
commit
add046cbda
@ -90,6 +90,7 @@ import java.util.Map;
|
||||
public class ComputerCraft
|
||||
{
|
||||
public static final String MOD_ID = "ComputerCraft";
|
||||
public static final String LOWER_ID = "computercraft";
|
||||
|
||||
// GUI IDs
|
||||
public static final int diskDriveGUIID = 100;
|
||||
@ -334,6 +335,14 @@ public class ComputerCraft
|
||||
turtleProxy.init();
|
||||
}
|
||||
|
||||
|
||||
@Mod.EventHandler
|
||||
public void onMissingMappings( FMLMissingMappingsEvent event )
|
||||
{
|
||||
proxy.remap( event );
|
||||
turtleProxy.remap( event );
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void onServerStarting( FMLServerStartingEvent event )
|
||||
{
|
||||
|
@ -34,10 +34,12 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.entity.living.LivingDropsEvent;
|
||||
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
@ -329,14 +331,14 @@ public abstract class CCTurtleProxyCommon implements ICCTurtleProxy
|
||||
// Blocks
|
||||
// Turtle
|
||||
ComputerCraft.Blocks.turtle = BlockTurtle.createTurtleBlock();
|
||||
registerBlock( ComputerCraft.Blocks.turtle, new ItemTurtleLegacy(ComputerCraft.Blocks.turtle), "CC-Turtle" );
|
||||
registerBlock( ComputerCraft.Blocks.turtle, new ItemTurtleLegacy(ComputerCraft.Blocks.turtle), "turtle" );
|
||||
|
||||
ComputerCraft.Blocks.turtleExpanded = BlockTurtle.createTurtleBlock();
|
||||
registerBlock( ComputerCraft.Blocks.turtleExpanded, new ItemTurtleNormal( ComputerCraft.Blocks.turtleExpanded ), "CC-TurtleExpanded" );
|
||||
registerBlock( ComputerCraft.Blocks.turtleExpanded, new ItemTurtleNormal( ComputerCraft.Blocks.turtleExpanded ), "turtle_expanded" );
|
||||
|
||||
// Advanced Turtle
|
||||
ComputerCraft.Blocks.turtleAdvanced = BlockTurtle.createTurtleBlock();
|
||||
registerBlock( ComputerCraft.Blocks.turtleAdvanced, new ItemTurtleAdvanced( ComputerCraft.Blocks.turtleAdvanced ), "CC-TurtleAdvanced" );
|
||||
registerBlock( ComputerCraft.Blocks.turtleAdvanced, new ItemTurtleAdvanced( ComputerCraft.Blocks.turtleAdvanced ), "turtle_advanced" );
|
||||
|
||||
// Recipe types
|
||||
RecipeSorter.register( "computercraft:turtle", TurtleRecipe.class, RecipeSorter.Category.SHAPED, "after:minecraft:shapeless" );
|
||||
@ -406,17 +408,60 @@ public abstract class CCTurtleProxyCommon implements ICCTurtleProxy
|
||||
registerTurtleUpgradeInternal( ComputerCraft.Upgrades.advancedModem );
|
||||
}
|
||||
|
||||
private void registerBlock( Block block, Item item, String name) {
|
||||
@Override
|
||||
public void remap( FMLMissingMappingsEvent mappings )
|
||||
{
|
||||
// We have to use mappings.getAll() as the mod ID is upper case but the domain lower.
|
||||
for( FMLMissingMappingsEvent.MissingMapping mapping : mappings.getAll() )
|
||||
{
|
||||
String domain = mapping.resourceLocation.getResourceDomain();
|
||||
if( !domain.equalsIgnoreCase( ComputerCraft.MOD_ID ) ) continue;
|
||||
|
||||
String key = mapping.resourceLocation.getResourcePath();
|
||||
if( key.equals( "CC-Turtle" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.turtle );
|
||||
}
|
||||
else if( key.equals( "CC-TurtleExpanded" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.turtleExpanded );
|
||||
}
|
||||
else if( key.equals( "CC-TurtleAdvanced" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.turtleAdvanced );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void remap( FMLMissingMappingsEvent.MissingMapping mapping, Block block )
|
||||
{
|
||||
if( mapping.type == GameRegistry.Type.BLOCK )
|
||||
{
|
||||
mapping.remap( block );
|
||||
}
|
||||
else
|
||||
{
|
||||
mapping.remap( Item.getItemFromBlock( block ) );
|
||||
}
|
||||
}
|
||||
|
||||
private void registerBlock( Block block, Item item, String name )
|
||||
{
|
||||
GameRegistry.register( block.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, name ) ) );
|
||||
GameRegistry.register( item.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, name ) ) );
|
||||
}
|
||||
|
||||
private void registerTileEntity( Class<? extends TileEntity> klass, String name )
|
||||
{
|
||||
GameRegistry.registerTileEntityWithAlternatives( klass, ComputerCraft.LOWER_ID + " : " + name, name );
|
||||
}
|
||||
|
||||
private void registerTileEntities()
|
||||
{
|
||||
// TileEntities
|
||||
GameRegistry.registerTileEntity( TileTurtle.class, "turtle" );
|
||||
GameRegistry.registerTileEntity( TileTurtleExpanded.class, "turtleex" );
|
||||
GameRegistry.registerTileEntity( TileTurtleAdvanced.class, "turtleadv" );
|
||||
registerTileEntity( TileTurtle.class, "turtle" );
|
||||
registerTileEntity( TileTurtleExpanded.class, "turtleex" );
|
||||
registerTileEntity( TileTurtleAdvanced.class, "turtleadv" );
|
||||
}
|
||||
|
||||
private void registerForgeHandlers()
|
||||
|
@ -9,7 +9,6 @@ package dan200.computercraft.shared.proxy;
|
||||
import dan200.computercraft.ComputerCraft;
|
||||
import dan200.computercraft.api.ComputerCraftAPI;
|
||||
import dan200.computercraft.api.pocket.IPocketUpgrade;
|
||||
import dan200.computercraft.core.computer.Computer;
|
||||
import dan200.computercraft.core.computer.MainThread;
|
||||
import dan200.computercraft.shared.common.DefaultBundledRedstoneProvider;
|
||||
import dan200.computercraft.shared.common.TileGeneric;
|
||||
@ -75,6 +74,7 @@ import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.world.WorldEvent;
|
||||
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
|
||||
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
|
||||
@ -234,15 +234,15 @@ public abstract class ComputerCraftProxyCommon implements IComputerCraftProxy
|
||||
// Blocks
|
||||
// Computer
|
||||
ComputerCraft.Blocks.computer = new BlockComputer();
|
||||
registerBlock( ComputerCraft.Blocks.computer, new ItemComputer( ComputerCraft.Blocks.computer ), "CC-Computer" );
|
||||
registerBlock( ComputerCraft.Blocks.computer, new ItemComputer( ComputerCraft.Blocks.computer ), "computer" );
|
||||
|
||||
// Peripheral
|
||||
ComputerCraft.Blocks.peripheral = new BlockPeripheral();
|
||||
registerBlock( ComputerCraft.Blocks.peripheral, new ItemPeripheral( ComputerCraft.Blocks.peripheral ), "CC-Peripheral" );
|
||||
registerBlock( ComputerCraft.Blocks.peripheral, new ItemPeripheral( ComputerCraft.Blocks.peripheral ), "peripheral" );
|
||||
|
||||
// Cable
|
||||
ComputerCraft.Blocks.cable = new BlockCable();
|
||||
registerBlock( ComputerCraft.Blocks.cable, new ItemCable( ComputerCraft.Blocks.cable ), "CC-Cable" );
|
||||
registerBlock( ComputerCraft.Blocks.cable, new ItemCable( ComputerCraft.Blocks.cable ), "cable" );
|
||||
|
||||
// Command Computer
|
||||
ComputerCraft.Blocks.commandComputer = new BlockCommandComputer();
|
||||
@ -258,11 +258,11 @@ public abstract class ComputerCraftProxyCommon implements IComputerCraftProxy
|
||||
GameRegistry.register( ComputerCraft.Items.disk.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "disk" ) ) );
|
||||
|
||||
ComputerCraft.Items.diskExpanded = new ItemDiskExpanded();
|
||||
GameRegistry.register( ComputerCraft.Items.diskExpanded.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "diskExpanded" ) ) );
|
||||
GameRegistry.register( ComputerCraft.Items.diskExpanded.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "disk_expanded" ) ) );
|
||||
|
||||
// Treasure Disk
|
||||
ComputerCraft.Items.treasureDisk = new ItemTreasureDisk();
|
||||
GameRegistry.register( ComputerCraft.Items.treasureDisk.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "treasureDisk" ) ) );
|
||||
GameRegistry.register( ComputerCraft.Items.treasureDisk.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "treasure_disk" ) ) );
|
||||
|
||||
// Printout
|
||||
ComputerCraft.Items.printout = new ItemPrintout();
|
||||
@ -270,7 +270,7 @@ public abstract class ComputerCraftProxyCommon implements IComputerCraftProxy
|
||||
|
||||
// Pocket computer
|
||||
ComputerCraft.Items.pocketComputer = new ItemPocketComputer();
|
||||
GameRegistry.register( ComputerCraft.Items.pocketComputer.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "pocketComputer" ) ) );
|
||||
GameRegistry.register( ComputerCraft.Items.pocketComputer.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, "pocket_computer" ) ) );
|
||||
|
||||
// Recipe types
|
||||
RecipeSorter.register( "computercraft:impostor", ImpostorRecipe.class, RecipeSorter.Category.SHAPED, "after:minecraft:shapeless" );
|
||||
@ -473,22 +473,77 @@ public abstract class ComputerCraftProxyCommon implements IComputerCraftProxy
|
||||
GameRegistry.addShapelessRecipe( cloudyHead, monitor, new ItemStack( Items.SKULL, 1, 1 ) );
|
||||
}
|
||||
|
||||
private void registerBlock( Block block, Item item, String name) {
|
||||
@Override
|
||||
public void remap( FMLMissingMappingsEvent mappings )
|
||||
{
|
||||
// We have to use mappings.getAll() as the mod ID is upper case but the domain lower.
|
||||
for( FMLMissingMappingsEvent.MissingMapping mapping : mappings.getAll() )
|
||||
{
|
||||
String domain = mapping.resourceLocation.getResourceDomain();
|
||||
if( !domain.equalsIgnoreCase( ComputerCraft.MOD_ID ) ) continue;
|
||||
|
||||
String key = mapping.resourceLocation.getResourcePath();
|
||||
if( key.equals( "CC-Computer" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.computer );
|
||||
}
|
||||
else if( key.equals( "CC-Peripheral" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.peripheral );
|
||||
}
|
||||
else if( key.equals( "CC-Cable" ) )
|
||||
{
|
||||
remap( mapping, ComputerCraft.Blocks.cable );
|
||||
}
|
||||
else if( key.equals( "diskExpanded" ) )
|
||||
{
|
||||
mapping.remap( ComputerCraft.Items.diskExpanded );
|
||||
}
|
||||
else if( key.equals( "treasureDisk" ) )
|
||||
{
|
||||
mapping.remap( ComputerCraft.Items.treasureDisk );
|
||||
}
|
||||
else if( key.equals( "pocketComputer" ) )
|
||||
{
|
||||
mapping.remap( ComputerCraft.Items.pocketComputer );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void remap( FMLMissingMappingsEvent.MissingMapping mapping, Block block )
|
||||
{
|
||||
if( mapping.type == GameRegistry.Type.BLOCK )
|
||||
{
|
||||
mapping.remap( block );
|
||||
}
|
||||
else
|
||||
{
|
||||
mapping.remap( Item.getItemFromBlock( block ) );
|
||||
}
|
||||
}
|
||||
|
||||
private void registerBlock( Block block, Item item, String name )
|
||||
{
|
||||
GameRegistry.register( block.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, name ) ) );
|
||||
GameRegistry.register( item.setRegistryName( new ResourceLocation( ComputerCraft.MOD_ID, name ) ) );
|
||||
}
|
||||
|
||||
private void registerTileEntity( Class<? extends TileEntity> klass, String name )
|
||||
{
|
||||
GameRegistry.registerTileEntityWithAlternatives( klass, ComputerCraft.LOWER_ID + " : " + name, name );
|
||||
}
|
||||
|
||||
private void registerTileEntities()
|
||||
{
|
||||
// Tile Entities
|
||||
GameRegistry.registerTileEntity( TileComputer.class, "computer" );
|
||||
GameRegistry.registerTileEntity( TileDiskDrive.class, "diskdrive" );
|
||||
GameRegistry.registerTileEntity( TileWirelessModem.class, "wirelessmodem" );
|
||||
GameRegistry.registerTileEntity( TileMonitor.class, "monitor" );
|
||||
GameRegistry.registerTileEntity( TilePrinter.class, "ccprinter" );
|
||||
GameRegistry.registerTileEntity( TileCable.class, "wiredmodem" );
|
||||
GameRegistry.registerTileEntity( TileCommandComputer.class, "command_computer" );
|
||||
GameRegistry.registerTileEntity( TileAdvancedModem.class, "advanced_modem" );
|
||||
registerTileEntity( TileComputer.class, "computer" );
|
||||
registerTileEntity( TileDiskDrive.class, "diskdrive" );
|
||||
registerTileEntity( TileWirelessModem.class, "wirelessmodem" );
|
||||
registerTileEntity( TileMonitor.class, "monitor" );
|
||||
registerTileEntity( TilePrinter.class, "ccprinter" );
|
||||
registerTileEntity( TileCable.class, "wiredmodem" );
|
||||
registerTileEntity( TileCommandComputer.class, "command_computer" );
|
||||
registerTileEntity( TileAdvancedModem.class, "advanced_modem" );
|
||||
|
||||
// Register peripheral providers
|
||||
ComputerCraftAPI.registerPeripheralProvider( new DefaultPeripheralProvider() );
|
||||
|
@ -10,6 +10,7 @@ import dan200.computercraft.api.turtle.ITurtleUpgrade;
|
||||
import dan200.computercraft.shared.util.IEntityDropConsumer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -17,6 +18,7 @@ public interface ICCTurtleProxy
|
||||
{
|
||||
void preInit();
|
||||
void init();
|
||||
void remap( FMLMissingMappingsEvent mappings);
|
||||
|
||||
void registerTurtleUpgrade( ITurtleUpgrade upgrade );
|
||||
ITurtleUpgrade getTurtleUpgrade( String id );
|
||||
|
@ -18,6 +18,7 @@ import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@ -25,6 +26,7 @@ public interface IComputerCraftProxy
|
||||
{
|
||||
void preInit();
|
||||
void init();
|
||||
void remap( FMLMissingMappingsEvent mappings);
|
||||
boolean isClient();
|
||||
|
||||
boolean getGlobalCursorBlink();
|
||||
|
Loading…
x
Reference in New Issue
Block a user