Skip to content

Commit

Permalink
Finish it later (Block Physics)
Browse files Browse the repository at this point in the history
  • Loading branch information
OldSerpskiStalker committed Nov 8, 2024
1 parent c1069e3 commit f913989
Show file tree
Hide file tree
Showing 9 changed files with 606 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLLoadCompleteEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.event.FMLServerStoppedEvent;
import net.minecraftforge.fml.common.event.*;

import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import org.imesense.dynamicspawncontrol.core.api.IRecipes;
import org.imesense.dynamicspawncontrol.core.field.UniqueField;
import org.imesense.dynamicspawncontrol.core.register.*;
import org.imesense.dynamicspawncontrol.plugin.realisticexplosionphysics_1_12_2_1_0_0.RealisticExplosionPhysics;
import org.imesense.dynamicspawncontrol.plugin.realisticexplosionphysics_1_12_2_1_0_0.event.OnEventWorld;
import org.imesense.dynamicspawncontrol.plugin.webslinger_1_12_2_2_2_4.capability.EventHandler;
import org.imesense.dynamicspawncontrol.plugin.webslinger_1_12_2_2_2_4.capability.WebSlingerCapability;
import org.imesense.dynamicspawncontrol.ai.zombie.event.OnBreakTorchEvent;
Expand Down Expand Up @@ -91,7 +88,7 @@ public DynamicSpawnControl()
* @throws IllegalAccessException
*/
@Mod.EventHandler
public synchronized void preInit(FMLPreInitializationEvent fmlPreInitializationEvent) throws IllegalAccessException
public void preInit(FMLPreInitializationEvent fmlPreInitializationEvent) throws IllegalAccessException
{
globalDirectory = fmlPreInitializationEvent.getModConfigurationDirectory();

Expand Down Expand Up @@ -131,7 +128,7 @@ public synchronized void preInit(FMLPreInitializationEvent fmlPreInitializationE
* @param fmlInitializationEvent
*/
@Mod.EventHandler
public synchronized void init(FMLInitializationEvent fmlInitializationEvent)
public void init(FMLInitializationEvent fmlInitializationEvent)
{
IRecipes = new CraftItemWeb();

Expand All @@ -145,19 +142,22 @@ public synchronized void init(FMLInitializationEvent fmlInitializationEvent)
* @param fmlPostInitializationEvent
*/
@Mod.EventHandler
public synchronized void postInit(FMLPostInitializationEvent fmlPostInitializationEvent)
public void postInit(FMLPostInitializationEvent fmlPostInitializationEvent)
{
//-' TODO: перенести это в отдельную инициализацию
MinecraftForge.EVENT_BUS.register(new EventHandler());
MinecraftForge.EVENT_BUS.register(new OnBreakTorchEvent());
MinecraftForge.EVENT_BUS.register(new OnEventWorld());

RealisticExplosionPhysics.postInit(fmlPostInitializationEvent);
}

/**
*
* @param fmlLoadCompleteEvent
*/
@Mod.EventHandler
public synchronized void onLoadComplete(FMLLoadCompleteEvent fmlLoadCompleteEvent)
public void onLoadComplete(FMLLoadCompleteEvent fmlLoadCompleteEvent)
{
ParserGenericJsonScript.readRules();

Expand All @@ -169,7 +169,7 @@ public synchronized void onLoadComplete(FMLLoadCompleteEvent fmlLoadCompleteEven
* @param fmlServerStartingEvent
*/
@Mod.EventHandler
public synchronized void serverLoad(FMLServerStartingEvent fmlServerStartingEvent)
public void serverLoad(FMLServerStartingEvent fmlServerStartingEvent)
{
RegisterCommandClass.registerCommands(fmlServerStartingEvent);
}
Expand All @@ -179,11 +179,21 @@ public synchronized void serverLoad(FMLServerStartingEvent fmlServerStartingEven
* @param fmlServerStoppedEvent
*/
@Mod.EventHandler
public synchronized void serverStopped(FMLServerStoppedEvent fmlServerStoppedEvent)
public void serverStopped(FMLServerStoppedEvent fmlServerStoppedEvent)
{
Cache.Instance.cleanActualCache();
Cache.Instance.cleanBufferCache();

Structure.STRUCTURES_CACHE.clean();
}

/**
*
* @param fmlServerStoppingEvent
*/
@Mod.EventHandler
public static void onServerShutdown(FMLServerStoppingEvent fmlServerStoppingEvent)
{
RealisticExplosionPhysics.onServerShutdown(fmlServerStoppingEvent);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.imesense.dynamicspawncontrol.plugin.RealisticBlockPhysics_1_12_2_2_1_2;

import net.minecraft.block.state.IBlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.imesense.dynamicspawncontrol.plugin.RealisticBlockPhysics_1_12_2_2_1_2.entity.EntityRBPFallingBlock;

import java.util.HashMap;

public class RealisticBlockPhysics
{
public static final EntityRBPFallingBlock summonFallingBlock(World worldIn, BlockPos pos, IBlockState blockState) {
return summonFallingBlock(worldIn, pos, blockState, 0.0D, 0.0D, 0.0D);
}

public static final EntityRBPFallingBlock summonFallingBlock(World worldIn, BlockPos pos, IBlockState blockState, double motionX, double motionY, double motionZ) {
if (getBlockDefinition(worldIn, blockState) == null) {
return null;
} else {
EntityRBPFallingBlock entity = new EntityRBPFallingBlock(worldIn, (double)((float)pos.getX() + 0.5F), (double)pos.getY(), (double)((float)pos.getZ() + 0.5F), blockState);
entity.motionX = motionX;
entity.motionY = motionY;
entity.motionZ = motionZ;
return worldIn.spawnEntity(entity) ? entity : null;
}
}

public static final BlockDefinition getBlockDefinition(World worldIn, IBlockState blockState) {
WorldDefinition worldDef = getWorldDefinition(worldIn);
if (worldDef == null) {
return null;
} else {
BlockDefinition physicsDefMeta = (BlockDefinition)((HashMap)blockDefinitions.get(worldDef)).get(GeneralUtil.getBlockRegistryName(blockState, true));
BlockDefinition physicsDefAll = (BlockDefinition)((HashMap)blockDefinitions.get(worldDef)).get(GeneralUtil.getBlockRegistryName(blockState, false));
return physicsDefMeta != null ? physicsDefMeta : physicsDefAll;
}
}
}
Loading

0 comments on commit f913989

Please sign in to comment.